package com.kaifamiao.dispatch;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.logging.Logger;

@WebServlet( "/xu/shu" )
public class XuShuServlet extends HttpServlet {

    private Logger logger = Logger.getLogger( this.getClass().getName() );

    @Override
    protected void service( HttpServletRequest request , HttpServletResponse response )
            throws ServletException, IOException {
        logger.info( "接受到浏览器的请求" );

        // 设置状态代码 ( 300 ~ 399 表示客户端需要重新请求新的资源 )
        // response.setStatus( 302 );
        // 通过 响应头中的 location 字段 "告知" 客户端需要打开的新的资源地址
        // response.setHeader( "location" , "/zhu/ge/liang?letter=hello" );

        // 重定向(redirect) : 通过 设置状态代码 和 设置 响应头 来实现
        response.sendRedirect( "/zhu/ge/liang?letter=hello" );

        // 重定向操作会导致浏览器立即打开新的地址，所以后续输出的内容浏览器是看不到的
        response.setContentType( "text/html;charset=UTF-8" );
        PrintWriter out = response.getWriter();
        out.println( "<div>" );
        out.println( "老刘啊，俺老徐对不住呀..." );
        out.println( "</div>" );
    }

}
